package org.example.model;

import io.swagger.v3.oas.annotations.Parameter;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

@Data
public class UserPageQry {
    @Parameter(required = true, description = "页码，从1开始", example = "1")
    @Min(value = 1, message = "pageIndex必须大于1")
    private int pageIndex;
//    @NotNull(message="pageIndex参数必须填写")
//    private Integer pageIndex;
//    1. 此处可以使用int类型，因为限制最小值为1，不填写默认赋值0，@Min校验不通过会抛出异常
//    2. 也可以写成Integer+@NotNull的组合(如下pageSize)，更加语义化

    @Parameter(required = true, description = "页面大小", example = "20")
    @NotNull(message = "pageSize参数必须填写")
    @Range(min = 1, max = 100, message = "pageSize必须在1-100之间")
    private Integer pageSize;

    @Parameter(description = "搜索名字(模糊搜索)，不搜索就传null或空字符")
    private String phone;
}

